{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.1"
},
"colab": {
"name": "401a_Problem_Sheet.ipynb",
"provenance": [],
"include_colab_link": true
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "We-uZ7SUtfzN"
},
"source": [
"## Problem Sheet Question 2a\n",
"\n",
"The general form of the population growth differential equation\n",
"\\begin{equation} y^{'}=t-y, \\ \\ (0 \\leq t \\leq 4) \\end{equation}\n",
"with the initial condition\n",
"\\begin{equation}y(0)=1\\end{equation}\n",
"For N=4\n",
"with the analytic (exact) solution\n",
"\\begin{equation} y= 2e^{-t}+t-1.\\end{equation}\n",
"\n",
"# 3-step Adams Bashforth\n",
"\n",
"The 3-step Adams Bashforth difference equation is\n",
"\\begin{equation}w_{i+1} = w_{i} + \\frac{h}{12}(23f(t_i,w_i)-16f(t_{i-1},w_{i-1})+5f(t_{i-2},w_{i-2})) \\end{equation}\n",
"where\n",
"\\begin{equation}w_{i+1} = w_{i} + \\frac{h}{12}(23(t_i-w_i)-16(t_{i-1}-w_{i-1})+5(t_{i-2}-w_{i-2})) \\end{equation}\n"
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true,
"id": "ObTY3wUFtfzQ"
},
"source": [
"import numpy as np\n",
"import math \n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt # side-stepping mpl backend\n",
"import matplotlib.gridspec as gridspec # subplots\n",
"import warnings\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n"
],
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"collapsed": true,
"id": "tGFqo-PvtfzR"
},
"source": [
"def myfun_ty(t,y):\n",
" return t-y\n",
"\n",
"\n",
"\n",
"#PLOTS\n",
"def Adams_Bashforth_3step(N,IC):\n",
"\n",
" x_end=4\n",
" x_start=0\n",
" INTITIAL_CONDITION=IC\n",
" h=x_end/(N)\n",
" N=N+2;\n",
" k_list=np.zeros(N)\n",
" t=np.zeros(N)\n",
" w=np.zeros(N)\n",
" k_mat=np.zeros((4,N-1))\n",
" Analytic_Solution=np.zeros(N)\n",
" k=0\n",
" w[0]=INTITIAL_CONDITION\n",
" Analytic_Solution[0]=INTITIAL_CONDITION\n",
" t[0]=x_start\n",
" t[1]=x_start+1*h\n",
" t[2]=x_start+2*h\n",
" w[1]=2*math.exp(-t[1])+t[1]-1\n",
" w[2]=2*math.exp(-t[2])+t[2]-1\n",
" Analytic_Solution[1]=2*math.exp(-t[1])+t[1]-1\n",
" Analytic_Solution[1+1]=2*math.exp(-t[2])+t[2]-1\n",
"\n",
" for k in range (2,N-1):\n",
" w[k+1]=w[k]+h/12.0*(23*myfun_ty(t[k],w[k])-16*myfun_ty(t[k-1],w[k-1])+5*myfun_ty(t[k-2],w[k-2]))\n",
" t[k+1]=t[k]+h\n",
" Analytic_Solution[k+1]=2*math.exp(-t[k+1])+t[k+1]-1\n",
"\n",
" fig = plt.figure(figsize=(10,4))\n",
" # --- left hand plot\n",
" ax = fig.add_subplot(1,3,1)\n",
" plt.plot(t,w,color='black')\n",
" #ax.legend(loc='best')\n",
" plt.title('Numerical Solution h=%s'%(h))\n",
"\n",
" # --- right hand plot\n",
" ax = fig.add_subplot(1,3,2)\n",
" plt.plot(t,Analytic_Solution,':o',color='blue')\n",
" plt.title('Analytic Solution')\n",
"\n",
" \n",
" ax = fig.add_subplot(1,3,3)\n",
" plt.plot(t,Analytic_Solution-w,':o',color='red')\n",
" plt.title('Error')\n",
" # --- title, explanatory text and save\n",
"\n",
"\n",
"\n",
" # --- title, explanatory text and save\n",
" fig.suptitle(r\"$y'=t-y$\", fontsize=20)\n",
" plt.tight_layout()\n",
" plt.subplots_adjust(top=0.85) \n",
" print(t)\n",
" print(Analytic_Solution)\n",
" print(w)"
],
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Ql-zIO86tfzS",
"outputId": "f2b71ad7-ebfa-4225-b4c3-12d3dc4884d2",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 353
}
},
"source": [
"Adams_Bashforth_3step(4,1)"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[0. 1. 2. 3. 4. 5.]\n",
"[1. 0.73575888 1.27067057 2.09957414 3.03663128 4.01347589]\n",
"[1. 0.73575888 1.27067057 1.89956382 3.14639438 3.61911085]\n"
]
},
{
"output_type": "display_data",
"data": {
"image/png": "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lHqQRYpw33330b17d44//njefvttJcciOWTz5lAitUuXMGRRRHJElSqhZmMyDpWUo4jkiPz8fK6//nr++Mc/0rlzZ8aOHUvdunXjDktEkuRf/4KWLeGzz+KORESS6q23oE8fWLOm5H1LQQmySGTTpk307NmTAQMGcMUVVzBy5EhqaPaOSE6pXh322QeaNo07EhFJqg8/DGOQk/S5rQRZBFizZg0dOnRg+PDh/P3vf+ehhx6iatWqcYclIkl24okwdqwqV4jknD/9Cb7/vsJLTBdQgiyV3tKlS2nbti3jx4/nscce46abbsI0MFEkp3zxBdx/fxh/LCI5KknJMShBlkruiy++4LjjjmPWrFm88sorXHzxxXGHJCIpMGIE9O0bVqIVkRyzZAl07gzvv5+0QypBlkpr5syZHHvssSxbtowJEybQoUOHuEMSkRS56SaYORMaN447EhFJukWLYMYMWLcuaYdUHWSplCZOnMhvfvMbdt55ZyZMmEDLli3jDklEUuDHH2HtWqhfH1q0iDsaEUmJQw+FefOSekj1IEul8/zzz9OuXTuaNGnCf/7zHyXHIjns73+HX/wCli2LOxIRySZKkKVSycvL47zzzqN169ZMnjyZvfbaK+6QRCSFevSAG2+EevXijkREUua88+C++5J6SA2xkErB3bn55pvp378/HTt2ZOTIkdSsWTPusEQkxVq2DDcRyVHusH590kvUqAdZct7mzZu55JJL6N+/P5dccgkvvvhipUiOzayGmX1gZjPNbI6Z3VbEPhea2VIzmxHd/i+OWEWS7emn4aqrkjpnR0QykRmMGgV//nNSD6seZMlpa9eupWvXrrz66qvcfPPN3HbbbZWpxvEGoK27rzGzasAUMxvr7u8V2u9Zd78yhvhEUubTT2HaNNhxx7gjEZFspB5kyVnff/89p556KmPGjOHhhx+mX79+lSk5xoOCRemrRTePMSSRtLntNvj3v6GKPuVEctutt8Ipp4ShFkmktw7JSQsXLuT4449n+vTpPP/88/Tu3TvukGJhZlXNbAawBBjv7kVVUf+tmX1sZi+YWZM0hyiSVHPmwNy54X716vHGIiJpsMceoYZjkjvANMRCcs6iRYs45phj+OGHHxg3bhwnnXRS3CHFxt23AIeZ2S7Ay2Z2sLvPTtjlVeAZd99gZpcCw4C2hY9jZr2AXgBNmzZN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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true,
"id": "LKJSdN2gtfzT"
},
"source": [
""
],
"execution_count": 3,
"outputs": []
}
]
}